package cn.yuysaln.domain.activity.service;

import cn.yuysaln.domain.activity.model.entity.ActivityOrderEntity;
import cn.yuysaln.domain.activity.model.entity.ActivityShopCartEntity;
import cn.yuysaln.domain.activity.model.entity.SkuRechargeEntity;

/**
 * 额度服务
 */
public interface IRaffleActivityAccountQuotaService {
    /**
     * 以sku创建抽奖活动订单，获得参与抽奖资格（可消耗的次数）
     *
     * @param activityShopCartEntity 活动sku实体，通过sku领取活动。
     * @return 活动参与记录实体
     */
    ActivityOrderEntity createRaffleActivityOrder(ActivityShopCartEntity activityShopCartEntity);

    /**
     * 通过Sku创建订单
     * @param skuRechargeEntity
     * @return 订单编号
     */
    String createSkuRechargeOrder(SkuRechargeEntity skuRechargeEntity);

    Integer queryRaffleActivityAccountDayPartakeCount(Long activityId, String userId);
}
